With idle-detection technology, software and hardware tools can be controlled depending on whether or not a computer or other device is in use and/or otherwise in a state in which relatively lower priority and/or less time critical operations can be performed without interfering or interfering unduly with user activity or other higher priority tasks. This technology has many practical applications for computers or other devices in a home, business, or school setting.
Conversely, reliable detection of a transition of a computer or other device out of an idle and/or other state in which lower priority operations can be performed enables such lower priority operations to be terminated and deferred until a later opportunity to perform or complete them arises.
Traditional idle-detection methods can detect if a human-interaction device such as a mouse, keyboard, or touch-screen has not been used for a certain amount of time. While useful, this approach has a drawback—the system may still be actively engaged in high-priority activities even if a user is not using the mouse, keyboard, touch screen, or other human-interaction device. For instance, if a user is watching a video, playing music, or waiting for a time-sensitive but long-term operation to finish (such as downloading a file from a remote server), a mouse, keyboard, or touch screen may not be used for some time, but the computer is still in use and is not truly idle. Similarly, non-workstation computers such as servers may seldom receive direct interaction by mouse or keyboard and thus traditional idle-detection methods are not accurate or useful.